//
//  ViewController.m
//  UI_08_UITableView
//
//  Created by li cheng on 16/7/25.
//  Copyright © 2016年 li cheng. All rights reserved.
//

#import "ViewController.h"
#import "UIView+Frame.h"
#define kTableViewReuse @"resueIdentifier"
@interface ViewController ()<UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, assign) NSInteger count;
@end


@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    _count = 0;
    // 吧navigation隐藏了
    //    self.navigationController.navigationBar.hidden = YES;
    self.navigationController.navigationBarHidden = YES;
    // 1.基本创建
    UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 400, 500) style:UITableViewStylePlain];
    [self.view addSubview:tableView];
    //    tableView.alwaysBounceVertical = NO; 默认是开启的状态,所以tableView创建就可以滑动
    // 2.相关属性
    // 直接设置, 行高(44), 一开始打印不出来,是在之后的一系列方法中出来的,
    tableView.rowHeight = 44;
    // 分割线颜色
    tableView.separatorColor = [UIColor redColor];
    // 分割线隐藏
//    tableView.separatorStyle = UITableViewCellSelectionStyleNone;
    // tableView 头视图
    // headView的X.Y不影响其位置
    // 一般用来放轮播图,个人资料
#if 0
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(1000, 1000, self.view.bounds.size.width, 200)];
    headerView.backgroundColor = [UIColor greenColor];
    //如果tableView要进行频繁的修改,得刷新
    [tableView beginUpdates];
    tableView.tableHeaderView = headerView;
    tableView.tableHeaderView.lc_height = 400;
    [tableView endUpdates];
    // footerView X会对尾视图产生坐标影响, Y不会
    UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(10, 100000000, self.view.lc_width, 400)];
    [tableView beginUpdates];
    footerView.backgroundColor = [UIColor orangeColor];
    tableView.tableFooterView = footerView;
    [tableView endUpdates];
#endif
    // 3.tableView 数据展示
    // 通过这个方式隐藏多余tableView的空cell
    // 空cell一般出现在一个界面只展示几条数据是,并且数据占不满整个屏幕
    tableView.tableFooterView = [[UIView alloc] init];
    // 执行事件
    tableView.delegate = self;
    // 展示数据
    tableView.dataSource = self;
    // 注册cell
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableViewReuse];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 100;
}
// 创建方式一
//    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"pool"];
//    UITableViewCellStyleValue1 最左边主标题(黑色),最后边副标题(灰色),
//    UITableViewCellStyleValue2 字号变小,蓝色主标题,黑色副标题, 主副标题紧挨
//    UITableViewCellStyleDefault 默认style,没有副标题
//    UITableViewCellStyleSubtitle 主副标题上下紧挨着,主标题字号打,副标题字号小

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
    // r如果从重用池里面取出的cell为空, 创建一个新的cell
    // 创建方式二, 从重用池中取出的cell为空, 创建一个新的cell,
    // 特点!!!可以改变style
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kTableViewReuse];
        NSLog(@"创建新的cell%@", cell);
        _count++;
        NSLog(@"%ld", _count);
    } else {
        NSLog(@"重用的cell%@", cell);
    }
    // cell 主标题
    cell.textLabel.text = @"齐天大圣孙悟空!";
    // cell 副标题
    cell.detailTextLabel.text = @"什么东西";
    cell.imageView.image = [UIImage imageNamed:@"1"];
    // 创建方式三, 注册cell
    UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
    
    return cell;
}





- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
